The number of devices capable of playing media is growing at a staggering rate. Virtually all modern personal computers and many modern cell phones, personal digital assistants, personal media players, set-top boxes, game consoles, and even refrigerators are capable of media playback. Such disparate devices can differ widely in their memory and processing capabilities, screen sizes, power consumption restraints, and available communications bandwidth. Such devices may receive media for playback via any number of communications technologies, including cable and DSL, fiber to the home, Wi-Fi, BlueTooth, 2.5G and 3G mobile phone networks, and the like.
Now that consumers have so many different connected media playback devices, many wish to be able to access all of their content at any time, from anywhere. But at the same time, few consumers wish to educate themselves about the technical details of their communications interfaces or device constraints.
One approach has been to encode, store, and select from multiple versions of each piece of media to provide a version appropriate to provide to a particular client device. For example, many websites offering streaming media allow a user to select between a low-bandwidth, low-quality encoding and a higher-bandwidth, higher-quality encoding. Similarly, services such as the iTunes Music Store, operated by Apple Inc. of Cupertino, Calif., sometimes let users choose between a lower-bandwidth, lower-quality encoding and a higher-bandwidth, higher-quality encoding of a particular piece of media. This approach is burdensome in part because it is often difficult for a content provider to ascertain the playback capabilities of any particular playback device, yet in most cases, the consumer is also unwilling or unable to ascertain and provide such information.
Another approach to the problem has been to encode each piece of media into multiple independent streams at varying bitrates, then switching between those streams to address varying bandwidth capacities. Technologies such as SureStream, developed by Real Networks of Seattle Wash., take such an approach, monitoring delivery rates and attempting to predict which bitrate stream to deliver as network capacity varies over time. Still, this approach is complex to implement and addresses only the bandwidth dimension of the differences between playback clients.
A better solution may be to utilize variable-fidelity media, encoding each piece of media a single time into a base layer and a set of additive layers that enhance the quality, size, or other attributes of the base layer. In some cases, one or more additive layers may also be independently renderable.
According to the concept of variable fidelity, scalable, or layered media, a piece of media or a presentation comprising multiple pieces of media is split up into a set of layers, each layer containing information that builds on top of one or more of the layers below it.
Layered media or layered presentations have become commonplace in certain contexts, while remaining obscure in others. One simple example of a commonly encountered form of layering is a web page that may comprise a base layer (e.g., basic text and html layout information) and one or more enhancement layers, for example a CSS style sheet layer, a scripting layer, and/or one or more media layers (e.g., individual image files). A client device may choose to display some or all of these layers, depending on the capabilities of the client and/or network conditions. For example, a mobile phone browser may obtain and display only the base text layer, whereas a desktop computer web browser may obtain and display all layers. For another example, a client device may disable bandwidth-heavy media layers when using a slow network connection.
Many audio and video compression/decompression (“codec”) specifications include support for scalable or layered modes, although few scalable modes are in common usage. For example, the MPEG-2 standard defines several profiles that include support for signal-to-noise ratio (“SNR”) and/or spatial scalable modes. For another example, the H.264 standard with the Scalable Video Coding extension defines profiles that provide for temporal, spatial, and SNR scalability. These three types of scalability have the following general characteristics:                Temporal scalability: media is coded at multiple frame rates (video) or sampling rates (audio). For example, a base layer may provide video encoded at 7.5 frames per second (FPS) video, while enhancement layers can be added to improve the frame rate to 15 FPS and 30 FPS.        Spatial scalability: video is coded at multiple spatial resolutions. For example, a base layer may provide video encoded at a resolution of 320×240, while multiple enhancement layers may increase the resolution to 640×480 and 800×600.        SNR scalability: media is coded at multiple degrees of fidelity or clarity. For example, a base layer may provide audio encoded at 8 bits per sample, while enhancement layers increase the bit depth to 16 and 24 bits per sample.        
P2P communication has become a popular method of sharing and obtaining digital media and other forms of digital information. In traditional client-server network models, a large number of clients generally make requests to a small number of centrally managed servers that deliver valuable information to the clients. By contrast, in the P2P network model, more or less equal peer nodes function both as “clients” and as “servers,” simultaneously receiving valuable information from and providing valuable information to other peer nodes. On the Internet, P2P is often a transient Internet network that allows peer users with the same networking protocol to connect with each other and directly access files on the computers of other peer users. Peer computers and other Internet protocol (IP) based devices can be discovered using an indexing mechanism (either centralized or distributed).
For providers of large content files, such as audio, video, application suites, et al, the costs of providing sufficient bandwidth to meet consumer demand can be significant. As consumer broadband networks become faster and faster, it becomes feasible to deliver more and more types of content via the Internet. Indeed, in many cases, consumer network connections are fast enough to support real time streaming of long-form video content, such as television shows and feature films. Indeed, numerous companies have recently introduced on-demand video streaming services.
For such companies, managing bandwidth demands can be challenging. For example, bandwidth demands may be relatively modest on weekdays, but may rise dramatically on the weekends, and may periodically spike with the introduction of a new piece of popular content. One advantage of P2P network models is that bandwidth availability should vary directly with the popularity of a given piece of content at a given time, since the more popular a piece of content is, the more peers there will be hosting that content.
As a general rule, a consumer may have some incentive to absorb part of the cost of content distribution via a P2P network. At the present time, that incentive often takes the form of “free” access to commercial content across P2P file sharing networks of dubious legality. In the case of such file sharing P2P networks, many consumers have proven that they are happy to exchange a portion of their bandwidth capacity in exchange for virtually unlimited access to popular media files. However, such P2P file sharing networks often bypass content owners and distributors completely. Few completely “legitimate” businesses have thus far built revenue models around P2P network models.
Commercial content providers that currently use a client-server model for media distribution include YouTube, operated by Google Inc. of Mountain View, Calif., the iTunes media store, operated by Apple Computer Inc. of Palo Alto, Calif., Amazon Unbox, operated by Amazon.com Inc. of Seattle, Wash., et al.
There are fewer commercial content providers that use a P2P network model. Some of the more prominent P2P content providers include Vudu, Inc. of Santa Clara, Calif., which produces the Vudu box interactive media device, and several vendors of software-only media players, such as Joost, made by Joost N. V. of Luxembourg, Luxembourg, and Veoh, made by Veoh Networks, Inc. of San Diego, Calif. The last, Veoh, actually operates both using a client-server network model and a P2P network model. Low quality media may be streamed via the Veoh.com website from a centrally managed server. Higher quality media is available via a standalone P2P software application. Thus, the Veoh model gives consumers a binary choice: view low quality video with no participation in the P2P network or view high quality video by participating fully in the P2P network.
At the moment, one incentive consumers have to participate in such P2P networks is likely the relative novelty of obtaining high-quality, legal, streaming media via a personal computer or set top box. As streaming media applications become more mainstream, and the novelty consequently wears off, it may be that consumers will drift towards client-server models. Another problem with such P2P streaming media applications is the relative scarcity of disk space on the peer devices. For example, while a dedicated, centrally managed server may have terabytes of on-line storage dedicated to storing media files for streaming, a typical P2P client may have far less free disk space, perhaps 10 GB or less. Consumers may be reluctant to allow a P2P streaming media client to utilize their hard drives to store large amounts of media to be shared with other P2P clients.